package com.lx.demo;

import java.io.*;
import java.util.Scanner;

/**
 * @author c先生
 * @date 2022年04月02日 下午 2:24:19
 * @describe    音乐下载功能（D:/music/...）
 */

public class Demo2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //创建音乐目录
        File file = new File("D:/aa");
        //目录下所有的音乐
        File[] files = file.listFiles();
        for (File file1 : files) {
            System.out.println(file1.getName());
        }

        System.out.println("请输入要下载的音乐名：");
        String inputName = sc.next();
        String downLoadName = null;
        for (File file1 : files) {
            if(file1.getName().indexOf(inputName) != -1){
                downLoadName = file1.getName();//得到完整的文件名字
                break;
            }
        }
        if(downLoadName != null){//用户输入的音乐存在
            System.out.println("请输入要下载的路径");
            String downLoadPath = sc.next();
            //创建下载文件的存储目录
            File newMusicDir = new File(downLoadPath);
            if(!newMusicDir.exists()){//如果目录不存在就创建目录
                newMusicDir.mkdirs();
            }
            File downLoadFile = new File(file,downLoadName);
            File newMusicFile = new File(newMusicDir,downLoadName);
            FileInputStream fis = null;//要读取的地址  D:/aa/音乐名
            FileOutputStream fos = null;//要写入的地址
            try {
                fis = new FileInputStream(downLoadFile);
                fos = new FileOutputStream(newMusicFile);
                int len = -1;
                byte[] bytes = new byte[1024];//一次读取、写入一个数组
                while ((len = fis.read(bytes)) != -1){//读取音乐文件
                    fos.write(bytes,0,len);//写入音乐文件
                }
            }catch (IOException e){
                e.printStackTrace();
            } finally {
                try {
                    fis.close();//关闭流
                    fos.close();
                    System.out.println("下载成功！");
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }else {
            System.out.println("音乐不存在！");
        }
    }
}
